home *** CD-ROM | disk | FTP | other *** search
/ MacFormat 1996 June / macformat-038.iso / Demos / Interactive Wave / _DATAS / SHARED.Dxr / 00985_Gestion administrative de la Navig.ls < prev    next >
Encoding:
Text File  |  1995-08-06  |  3.1 KB  |  115 lines

  1. on SetMemoNavPuce AccuZ, NotValidConsulte
  2.   global MemoNavPuce
  3.   set AccuA to word 1 of AccuZ
  4.   set AccuM to the movieName
  5.   set AccuB to chars(AccuM, 1, length(AccuM) - 4)
  6.   set AccuC to word 2 of AccuZ
  7.   set AccuD to word 3 of AccuZ
  8.   set AccuE to word 4 of AccuZ
  9.   set AccuF to word 5 of AccuZ
  10.   set MemoNavPuce to AccuA & " " & AccuB & " " & AccuC & " " & AccuD & " " & AccuE & " " & AccuF
  11.   if paramCount() < 2 then
  12.     ValidConsulte()
  13.   end if
  14. end
  15.  
  16. on ValidConsulte
  17.   global DcDemo, MemoNavPuce, listChampsNavig
  18.   if DcDemo then
  19.     exit
  20.   end if
  21.   set MemoMovie to word 1 of MemoNavPuce
  22.   set PosdepAnim to getOne(listChampsNavig, MemoMovie)
  23.   if PosdepAnim = 0 then
  24.     exit
  25.   end if
  26.   set NbreFrame to getAt(listChampsNavig, PosdepAnim + 2)
  27.   if NbreFrame = 0 then
  28.     setAt(listChampsNavig, PosdepAnim + 3, 1)
  29.     return ValideToutConsulte()
  30.   end if
  31.   set MemoAnim to word 2 of MemoNavPuce
  32.   set MemoFrame to word 3 of MemoNavPuce
  33.   set listFrame to getAt(listChampsNavig, PosdepAnim + 1)
  34.   set Pz to 1
  35.   repeat with compt = 1 to NbreFrame
  36.     if (getAt(listFrame, Pz) = MemoAnim) and (getAt(listFrame, Pz + 1) = MemoFrame) then
  37.       set ChampsFrame to getAt(listChampsNavig, PosdepAnim + 4)
  38.       put "1" into char compt of ChampsFrame
  39.       setAt(listChampsNavig, PosdepAnim + 4, ChampsFrame)
  40.       if offset("0", ChampsFrame) = 0 then
  41.         setAt(listChampsNavig, PosdepAnim + 3, 1)
  42.       end if
  43.       exit repeat
  44.     end if
  45.     set Pz to Pz + 2
  46.   end repeat
  47.   ValideToutConsulte()
  48. end
  49.  
  50. on ValideToutConsulte
  51.   global listChampsNavig
  52.   set ToutConsulte to 1
  53.   set Pz to 5
  54.   repeat with compt = 1 to getAt(listChampsNavig, 1)
  55.     set ToutConsulte to ToutConsulte * getAt(listChampsNavig, Pz)
  56.     set Pz to Pz + 5
  57.   end repeat
  58.   SetToutConsulte(ToutConsulte)
  59. end
  60.  
  61. on InitVarNavig
  62.   RecuplistChampsNavig()
  63. end
  64.  
  65. on SetToutConsulte Op
  66.   global listChampsNavig
  67.   setAt(listChampsNavig, count(listChampsNavig), Op)
  68. end
  69.  
  70. on RecupToutConsulte
  71.   global listChampsNavig
  72.   return getLast(listChampsNavig)
  73. end
  74.  
  75. on RecuplistChampsNavig
  76.   global listChampsNavig
  77.   set ChampsNavig to the text of cast "N_ChampsNavig"
  78.   set listChampsNavig to list(0)
  79.   set Pz to 1
  80.   repeat with ComptAnim = 1 to 100
  81.     set Anim to word Pz of ChampsNavig
  82.     set Pz to Pz + 1
  83.     if Anim = "ENDCHAMPS" then
  84.       exit repeat
  85.     end if
  86.     set Caract to word Pz of ChampsNavig
  87.     set listFrame to 0
  88.     set NbreFrame to 0
  89.     set FrameConsulte to 0
  90.     if Caract <> "#" then
  91.       set listFrame to list()
  92.       set FrameConsulte to EMPTY
  93.       repeat with ComptFrame = 1 to 50
  94.         add(listFrame, word Pz of ChampsNavig)
  95.         add(listFrame, word Pz + 1 of ChampsNavig)
  96.         set NbreFrame to NbreFrame + 1
  97.         set FrameConsulte to FrameConsulte & "0"
  98.         set Pz to Pz + 2
  99.         if word Pz of ChampsNavig = "#" then
  100.           exit repeat
  101.         end if
  102.       end repeat
  103.     end if
  104.     add(listChampsNavig, Anim)
  105.     add(listChampsNavig, listFrame)
  106.     add(listChampsNavig, NbreFrame)
  107.     add(listChampsNavig, 0)
  108.     add(listChampsNavig, FrameConsulte)
  109.     set Pz to Pz + 1
  110.   end repeat
  111.   setAt(listChampsNavig, 1, ComptAnim - 1)
  112.   add(listChampsNavig, 0)
  113.   return listChampsNavig
  114. end
  115.